



let User=require('./user')


// 改变this指向 写法不一样 不能继承得到父类的原型对象
// call  call(this,a,b)
// apply apply(this,[a,b,c]) call(this.arguments)
// bind
function Student(name,age,word,grade){
    User.apply(this,[name,age,word])
    this.grade=grade
    this.init=function(){
        console.log('Student初始化')
    }
}

// 原型继承
// 实例化继承
// student.prototype=new User()

// 对象复制继承
// for in 对象遍历
for(var i in User.prototype){
    Student.prototype[i]=User.prototype[i]
}


// 方法重载
Student.prototype.say=function(){
    return this.name+'给了自己'+this.age+'锤'
}


// 原型继承中的实例化继承
// 这是和上边的遍历效果是一样的
// Student.prototype=new User()



// 静态对象
Student.hobby=['写代码','熬夜','面试题']



// class Student extends User{}



module.exports=Student